-
Notifications
You must be signed in to change notification settings - Fork 169
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add GitHub Action to test the code on Linux, macOS, and Windows #264
Conversation
@dhritzkiv Your review, please. It would be great to have automated testing. |
Thank you for taking this on! It will be great to have CI in one, hassle-free place. A few questions:
|
As for angle upgrades, I'd keep it separate from this PR. |
Please merge this so we have tests in place. Then in future PRs we can add more OSes, Node versions, builds, and releases. |
I intend to. This is a good start, but I'd love to see the tests passing primarily on Node v20 on Linux and Windows first. (Node v16 or v18, as well as macOS tests would be a bonus, but are not necessary). Right now, this CI configuration, as the majority of images are excluded/failing, doesn't offer much over Travis CI. Granted, this configuration does works better than Appveyor for Windows tests (as that CI environment has been non-functional for us for the last 6 months), so I suppose this PR is a net-positive in that regard. I'll concede that prebuilds/packaging/releasing can be added later. Ultimately, I don't see a point merging this in a half-working state, unless I'm missing something? |
Do you pay for Travis CI or are you working on free credits? It seems lik As said above, it is much easier to enable tests after the guardrails are in place. |
Working on free OSS credits. |
Travis credits will run out really fast. |
Yes, that's why I limited Travis to run only on the latest two LTS version of Node on Ubuntu. No other versions of Node, and no macOS. Once in a while, we run out of credits, but reaching out to Travis helps to replenish them. Not ideal, but not the worst. Migrating to GitHub actions will help avoid this, for sure. |
Many years ago, we used to get intermittent Eventually, these stopped happening entirely, whether due to using newer versions of Node, or updated test-running dependencies. Everything was good for about 4 years. Unfortunately, it seems these errors are back. :/ It looks like your contribution in #280 failed the first time, but succeeded on a subsequent run. This might suggest that re-running GitHub actions until they succeed might be the temporary answer. |
Is it possible to force a Github action workflow run to be re-run if it failed? Doing so manually would be fine. |
Okay, I see that these tests are flaky, and has nothing to do with the configuration/environment of the GitHub Actions specifically. I see your latest commits restore the other OSes, and they are surprisingly passing. I will merge this MR later this evening. |
All passed at https://github.com/cclauss/headless-gl/actions https://github.com/coactions/setup-xvfb was the key to Ubuntu. |
https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs
Test results: https://github.com/cclauss/headless-gl/actions
https://chromium.googlesource.com/angle/angle might be a better of modern angle.